﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0061)http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html -->
<HTML xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>TortoiseSVN使用简介 - 风雨者2 - 博客园</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META content=TortoiseSVN使用简介 name=keywords><LINK 
href="TortoiseSVN使用简介.files/common.css" type=text/css rel=stylesheet><LINK 
id=MainCss href="TortoiseSVN使用简介.files/style.css" type=text/css 
rel=stylesheet><LINK href="TortoiseSVN使用简介.files/common2.css" type=text/css 
rel=stylesheet><LINK href="TortoiseSVN使用简介.files/shCore.css" type=text/css 
rel=stylesheet><LINK href="TortoiseSVN使用简介.files/shThemeDefault.css" 
type=text/css rel=stylesheet><LINK title=RSS 
href="http://www.cnblogs.com/blsong/rss" type=application/rss+xml 
rel=alternate><LINK title=RSD href="http://www.cnblogs.com/blsong/rsd.xml" 
type=application/rsd+xml rel=EditURI>
<SCRIPT src="TortoiseSVN使用简介.files/jquery.js" type=text/javascript></SCRIPT>

<SCRIPT src="TortoiseSVN使用简介.files/common.js" type=text/javascript></SCRIPT>

<SCRIPT src="TortoiseSVN使用简介.files/jquery.json-2.2.min.js" 
type=text/javascript></SCRIPT>

<SCRIPT src="TortoiseSVN使用简介.files/shCore.js" type=text/javascript></SCRIPT>

<SCRIPT src="TortoiseSVN使用简介.files/shLanguage.js" type=text/javascript></SCRIPT>

<META content="MSHTML 6.00.2900.6104" name=GENERATOR></HEAD>
<BODY><A name=top></A>
<FORM id=Form1 action=1816124.html method=post>
<DIV class=aspNetHidden><INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> 
<INPUT id=__EVENTARGUMENT type=hidden name=__EVENTARGUMENT> <INPUT 
id=__VIEWSTATE type=hidden name=__VIEWSTATE> </DIV>
<SCRIPT type=text/javascript>
//<![CDATA[
var theForm = document.forms['Form1'];
if (!theForm) {
    theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</SCRIPT>

<DIV id=wrapper>
<DIV id=header>
<DIV id=top>
<H1><A class=headermaintitle id=Header1_HeaderTitle 
href="http://www.cnblogs.com/blsong/">每天学习一点点，每天进步一点点</A></H1>
<DIV id=subtitle>宽容，淡定，超脱。</DIV></DIV>
<DIV id=sub>
<DIV class=BlogStats>随笔 - 210, 文章 - 0, 评论 - 54, 引用 - 0</DIV></DIV></DIV>
<DIV id=main_container>
<DIV id=main_content>
<DIV id=content>
<DIV class=post>
<H2><A id=ctl01_TitleUrl 
href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html">TortoiseSVN使用简介</A> 
</H2>
<DIV class=postbody>
<DIV id=cnblogs_post_body>
<P>TortoiseSVN使用简介 
<P>2009-04-24 来源：dev.idv.tw 
<UL>
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#1">1 安装及下载client 端</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#2">2 
  什么是SVN（Subversion）?</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#3">3 为甚么要用SVN?</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#4">4 怎么样在Windows下面建立SVN 
  Repository？</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#5">5 建立一个Working目录</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#6">6 
  新增档案及目录到Repository中</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#7">7 更新档案及目录</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#8">8 更新至特定版本</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#9">9 复制档案及目录</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#10">10 
  制作Tag或是Release</A> 
  <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#11">11 快速参考</A> 
  <UL>
    <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#111">11.1 
    取得(Checkout)Repository</A> 
    <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#112">11.2 
    更新(Update)档案或目录</A> 
    <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#113">11.3 
    新增(Add)档案或目录</A> 
    <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#114">11.4 
    提交(Commit)修改过的档案或目录</A> 
    <LI><A href="http://www.uml.org.cn/pzgl/200904246.asp#115">11.5 
    Copy/Tag/Branch/Release档案或目录</A></LI></UL></LI></UL>
<H4><A name=1></A>安装及下载client 端 </H4>
<OL>
  <LI>下载Windows 端程序：http://tortoisesvn.net/downloads。一般而言，如果是32-bit的Windows XP 
  应该使用TortoiseSVN-1.4.x.xxxx-win32-svn-1.4.x.msi 这个档案。如果是64-bit 
  的操作系统，则应该使用TortoiseSVN-1.4.x.xxxx-x64-svn-1.4.x.msi 这个档案。 
  <LI>执行下载回来的TortoiseSVN 安装程序，就会进行TortoiseSVN 
  的安装。正确安装后，应该进行一次的重开机，以确保TortoiseSVN 的正确无误。 
  <LI>安装成功后，在档案管理员内按下鼠标右键，应该可以看到如下的画面： </LI></OL>
<P><IMG height=484 alt=图像:Tsvn_01.png src="TortoiseSVN使用简介.files/Tsvn_01.png" 
width=230> 
<P>大部分的TortoiseSVN的操作都是透过档案管理员及鼠标右键就可以完成了。如果您之前使用过TortoiseCVS，应该会对这种操作方式感到十分亲切。 
<H4><A name=2></A>什么是SVN（Subversion）? </H4>
<P>有一个简单但不十分精确比喻： <PRE>SVN = 版本控制 + 备份服务器
</PRE>
<P>简单的说，您可以把SVN当成您的备份服务器，更好的是，他可以帮您记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。 
<P>通常，我们称用来存放上传档案的地方就做Repository。用中文来说，有点像是档案仓库的意思。不过，通常我们还是使用Repository这个名词。基本上，第一次我们需要有一个新增(add)档案的动作，将想要备份的档案放到Repository上面。日后，当您有任何修改时，都可以上传到 
Repository上面，上传已经存在且修改过的档案就叫做commit，也就是提交修改给SVN server的意思。针对每次的commit，SVN 
server都会赋予他一个新的版本。同时，也会把每次上传的时间记录下来。日后，因为某些因素，如果您需要从Repository下载曾经提交的档案。您可以直接选择取得最新的版本，也可以取得任何一个之前的版本。如果忘记了版本，还是可以靠记忆尝试取得某个日期的版本。 

<H4><A name=3></A>为甚么要用SVN? </H4>
<OL>
  <LI>备份工作档案是十分重要的。您永远不知道计算机上的硬盘何时会坏掉。根据经验法则再加上摩菲定理，坏事情往往都发生在最重要的时刻。例如，要 
  release东西的前一刻，硬盘完全坏掉，无法修复。所以，常常备份工作数据是非常重要的。大部分公司的server都会有专门的备份机制，甚至是异地备援。绝对比放在自己的计算机里头，或是随身碟上面来的安全。 

  <LI>版本控管非常重要。您无法保证手头上最新版本永远都是对的。很多时候，在经过数天努力工作后，您才发现走错方向。需要将所有的修改回复到数天前版本。没有几个人能够完全记住自己修改过什么东西。如果没有做好版本控管，那么，最差的状况就是要全部重来。 

  <LI>伙伴间的数据同步也是非常重要的。很多时候，除了您个人外，还有其它的伙伴也需要您的档案。怎么把最新的档案提供给伙伴呢？用e-mail？根据经验，用 
  e-mail是一个很差的办法。到了最后，根本就不知道哪一封e-mail才是新的。因为可能您最新的e-mail已经被当成垃圾信给丢了。别忘了，现在很多e-mail软件都有anti-spam的功能，说不定这些信件都被当成广告信给处理掉了。而且，您也应该知道一般档案如果放在e-mail内，档案大小会变得比较大（通常是原来的4/3倍以上）。如果每天更新一次，恐怕几天没收信的话，信箱就爆了！ 

  <LI>如果没有一个好的办法，备份不同版本是很耗费硬盘空间的。例如：您有一个总共10MB的目录，使用单纯的档案备份。如果有10个版本就会变成100MB。 
  20个版本就有200MB。如果，不想备份这么多版本，势必就是要减少备份的次数。拉长备份周期将会导致数据遗失的危险性增高。把旧的不需要的备份删除？根据经验，只要时间一拉长，您跟本就不知道一个月以前的版本是重要或者是不重要。 
  </LI></OL>
<P>SVN能帮我们解决上面的问题吗？答案是肯定的： 
<OL>
  <LI>SVN Repository可以是自己计算机上的一个目录，或者是随身碟（不建议这样用）。当然也可以是公司的服务器。 
  <LI>SVN有很棒的版本控管机制。所有上传的版本都会帮您记录下来。日后您可以随时取得某一个时刻的版本。而且，也有版本分支及合并等好用的功能。 
  <LI>SVN可以让不同的开发者存取同样的档案，并且利用SVN 
  Server作为档案同步的机制。也就是说，您有档案更新时，无须将档案寄给您的开发成员。只需要告诉他新的版本已经在SVN Server上面，请他自己去SVN 
  Server上面就可以取得最新版本。而且，SVN Server也可以做到当您上传新版本后，自动发信给相关的成员。 
  <LI>SVN的存放档案方式是采用差异备份的方式。也就是说，他只会备份有不同的地方。所以很省硬盘空间。此外，他也可以针对所谓的非文字文件进行差异备份。 
  </LI></OL>
<H4><A name=4></A>怎么样在Windows下面建立SVN Repository？ </H4>
<P>假设您已经安装前面所提及的TortoiseSVN这套软件，现在我们先告诉您如何用自己的硬盘或是随身碟当作SVN 
Repository的存放地点。如果您只想知道如何存取一个已经建立好的SVN Server上面的Repository，请直接跳过本节。 
<P>假设您的要放置Repository的地方是E槽。您需要先建立一个空的目录。以下面的例子而言，我们在E槽下面建立了一个名为svn_repo的目录。 
SVN并没有限定Repository目录名称。您可以建立任何您自己喜欢的名称。但是，强烈建议勿使用非英文的档名(如中文或日文)。 
<P><IMG height=302 alt=图像:Tsvn_02.png src="TortoiseSVN使用简介.files/Tsvn_02.png" 
width=502> 
<P>透过您的档案管理员，在E:\svn_repo的Icon上面，按下鼠标右键后，选择TortoiseSVN-&gt;Create repository 
here。 
<P><IMG height=366 alt=图像:Tsvn_03.png src="TortoiseSVN使用简介.files/Tsvn_03.png" 
width=419> 
<P>接着，您会看到如下的一个窗口，这个窗口主要是问您，您希望使用的Repository数据库格式是FSFS还是BDB。基本上，请选择FSFS就可以了。按下OK按钮后，您将可以看到下一个画面。 

<P><IMG height=108 alt=图像:Tsvn_04.png src="TortoiseSVN使用简介.files/Tsvn_04.png" 
width=283> 
<P>这就表示您的SVN repository已经成功的建立了。接下来就是要把您的档案备份进来。日后，只要需要使用这个repository，我们就可以使用 
file:///E:/SVN_REPO表示它。SVN就是透过这种URL的方式到如何与Repository取得联系。各种URL的格式如下： <PRE>file:///磁盘驱动器|/repository所在目录/子目录
http://账号@服务器名称/ repository所在目录/子目录
https://账号@服务器名称/ repository所在目录/子目录
svn+ssh://账号@服务器名称/ repository所在目录/子目录
</PRE>
<P>其中，http表示使用一般的超文字传输通讯协议。https表示使用加密的超文字传输通讯协议。svn+ssh表示透过SSH加密通讯的管道，进行存取。 
<H4><A name=5></A>建立一个Working目录 </H4>
<P>所谓的Working目录其实就是您平常用来存放工作档案的地方。通常我们会等到自己的工作做的一个段落的时候再进行备份。所以我们平常都是在 
Working目录下面工作，等到适当时机在commit到repository中。举例来说，我们想在D槽下面建立一个名为working的目录。首先先把这个目录建立出来。 

<P><IMG height=312 alt=图像:Tsvn_05.png src="TortoiseSVN使用简介.files/Tsvn_05.png" 
width=450> 
<P>此时，这个目录应该为空的。 
<P>在档案管理员中按下右键后(您可以在working目录的icon上按，也可进入working目录后，在空白的地方按)，选择SVN checkout。 
<P><IMG height=314 alt=图像:Tsvn_06.png src="TortoiseSVN使用简介.files/Tsvn_06.png" 
width=179> 
<P>接着您可以看到如下的画面： 
<P><IMG height=320 alt=图像:Tsvn_07.png src="TortoiseSVN使用简介.files/Tsvn_07.png" 
width=456> 
<P>首先我们要填入的是repository的位置，对于SVN来说，repository的位置都是URL。由于我们前面已经在E槽建立一个repository，因此，我们现在要在URL 
of repository这一栏填入file:///E:/svn_repo/。 
<P>接着，稍微看一下Checkout directory，这个字段应该要指向您的working目录。确认后，按下OK按钮，您应该可以看到如下的讯息窗口。 
<P><IMG height=302 alt=图像:Tsvn_08.png src="TortoiseSVN使用简介.files/Tsvn_08.png" 
width=554> 
<P>这样就表示动作完成。按下OK按钮后，再到您刚刚建立的目录下。您将会看到working目录下面多了一个名为.svn的目录(这个目录是隐藏的，如果您的档案管理员没有设定可以看到隐藏目录，您将无法看到它) 
。 
<P><IMG height=312 alt=图像:Tsvn_09.png src="TortoiseSVN使用简介.files/Tsvn_09.png" 
width=450> 
<P>SVN会在您的工作目录下，以及其子目录下建立这个.svn的子目录。您不应该进去这个目录，尤其不应该更动这个目录下面的任何内容。否则会很可能会造成SVN无法正常运作。 

<P>由于，原来的repository是空的，所以我们现在的working目录也是空的。如果您现在checkout的是一个已经有内容的repository，您将会看到working目录下面现在多了许多目录及档案。 

<P>如果您要在一个已经存在的SVN 
Server上面checkout出上面的档案，您只需要给定正确的URL以及working目录的名称。就可以取得指定的档案及目录了。 
<H4><A name=6></A>新增档案及目录到Repository中 </H4>
<P>假设您前面的动作都无误。现在您开始开发一个新的程序。假设您开发的程序将放在前面建立的working目录下面的my_ prj子目录。如下所示： 
<P><IMG height=312 alt=图像:Tsvn_10.png src="TortoiseSVN使用简介.files/Tsvn_10.png" 
width=450 
longDesc=http://www.dev.idv.tw/mediawiki/index.php/%E5%9C%96%E5%83%8F:Tsvn_10.png> 
<IMG height=312 alt=图像:Tsvn_11.png src="TortoiseSVN使用简介.files/Tsvn_11.png" 
width=450> 
<P>假设您已经编辑好档案，准备把他们放到SVN的repository中。您需要在my_prj目录的icon上面，按鼠标右键，并且选择TortoiseSVN-&gt;Add： 

<P><IMG height=519 alt=图像:Tsvn_12.png src="TortoiseSVN使用简介.files/Tsvn_12.png" 
width=396> 
<P>接着，TortoiseSVN会把准备要加入的档案及目录，显示给您看。打勾的就是等下要被加入到Repository中的。如果您有某些档案或是目录不想在这次加入，您可以让该项目不要被勾选。如此，它就不会被加入到Repository去。 

<P><IMG height=380 alt=图像:Tsvn_13.png src="TortoiseSVN使用简介.files/Tsvn_13.png" 
width=494> 
<P>按下OK后，您将会看到如下的讯息窗口： 
<P><IMG height=302 alt=图像:Tsvn_14.png src="TortoiseSVN使用简介.files/Tsvn_14.png" 
width=554> 
<P>这样就表示成功了。有一点要注意的是，这个Add的动作并未真正的将档案放到Repository中。仅仅是告知SVN准备要在Repository中放入这些档案。此时，如果您透过档案管理员查看这些档案，应该会看到一个白色红底的惊叹号在档案icon的下方。 

<P><IMG height=312 alt=图像:Tsvn_15.png src="TortoiseSVN使用简介.files/Tsvn_15.png" 
width=450> 
<P>这是表示您的working目录中的档案与Repository中的档案还没有同步。现在我们要多一个commit的动作。让这些档案真正的放入到 
Repository中。您可以在my_prj目录的icon上或者是my_prj目录内的空白处按下鼠标右键，叫出如下的选单，并且选择SVN commit。 
<P><IMG height=519 alt=图像:Tsvn_16.png src="TortoiseSVN使用简介.files/Tsvn_16.png" 
width=217> 
<P>紧接着，您将会看到如下的窗口出现： 
<P><IMG height=504 alt=图像:Tsvn_17.png src="TortoiseSVN使用简介.files/Tsvn_17.png" 
width=768> 
<P>在这个窗口中，下半部会列出一个清单，让您清楚的了解到哪些档案要被commit到repository中。同样的，如果您有档案不想在这个时候commit到Repository，您可以取消选取的档案，这样他们就不会被commit到Repository中。 

<P>在档案列表的上方是Message栏，您可以在栏中输入本次commit的目的。这是十分重要的字段，当您commit的次数很多时，可以靠这个讯息知道版本与版本之间的差异。当您输入好Message，按下OK之后，就可以看到如下的窗口出现，通知您已经将指定的档案送到Repository中。 

<P><IMG height=302 alt=图像:Tsvn_18.png src="TortoiseSVN使用简介.files/Tsvn_18.png" 
width=554> 
<P>您可以到先前的folder中，确定是否所有的档案icon都有如下的绿色勾勾在上面，这样代表您的档案都正确无误的到repository中。 
<P><IMG height=331 alt=图像:Tsvn_19.png src="TortoiseSVN使用简介.files/Tsvn_19.png" 
width=446> 
<P>有时候，因为Windows本身的问题，您可能会看到有些icon没有变成绿色的勾勾。此时，多按F5几次，应该就可以解决这个问题。如果，仍然不行，表示您之前的commit动作真的有问题。请仔细检查之前的commit动作是否正确。 

<H4><A name=7></A>更新档案及目录 </H4>
<P>为何需要更新？由于版本控制系统多半都是由许多人共同使用。所以，同样的档案可能还有人会去进行编辑。为了确保您工作目录中的档案与Repository中的档案是同步的。建议您在编辑前都先进行更新的动作。在此，我们都先假设您已经将档案check 
out过一次。现在要说明的是如何在一个check out过的目录进行update。在想要更新的档案或目录icon上面按下鼠标右键。并且选择SVN Update。 

<P><IMG height=316 alt=图像:Tsvn_20.png src="TortoiseSVN使用简介.files/Tsvn_20.png" 
width=142> <IMG height=302 alt=图像:Tsvn_21.png 
src="TortoiseSVN使用简介.files/Tsvn_21.png" width=554> 
<P>正常的状况下，您可以看到如上的窗口。在这个窗口中会显示有哪些文件更新了。如果没有看到档案更新的相关信息，这表示您的目录中的档案已经是最新的，所以无须进行更新。 

<H4><A name=8></A>更新至特定版本 </H4>
<P>有时我们需要回溯至特定的日期或是版本，这时就可以利用SVN的Update to 
revision的功能。在想要更新的档案或目录icon上面按下鼠标右键。并且选择TortoiseSVN-&gt;Update to revision。 
<P><IMG height=521 alt=图像:Tsvn_22.png src="TortoiseSVN使用简介.files/Tsvn_22.png" 
width=347> <IMG height=224 alt=图像:Tsvn_23.png 
src="TortoiseSVN使用简介.files/Tsvn_23.png" width=311> 
<P>在这个Update窗口中，您可以选择更新到最新版本(HEAD)。也可以选择更新到某个指定的版本(Revision)。当然，您可能早就记不起来正确的版本号码。可能只隐约的记得大概在什么时间。没关系，按下Show 
log按钮，您就可以回顾历史了。 
<P><IMG height=551 alt=图像:Tsvn_24.png src="TortoiseSVN使用简介.files/Tsvn_24.png" 
width=638> 
<P>所有您曾经做过的动作，及其日期与对应的版本都会列在这个窗口上面，只要在你想要的版上面点一下，让他变成反白，然后按下OK。这个版本就会自动填入Update窗口中的Revision字段中。您只要再按下一次OK，这个版本就会被取出来到您的硬盘中。 

<H4><A name=9></A>复制档案及目录 </H4>
<P>很多时候您会希望有另外一个复制的目录来进行新的编修。等到确定这个分支的修改已经完毕了，再合并到原来的主要开发版本上。举例来说，我们目前在working 
copy下面有如下的目录及档案： 
<P><IMG height=362 alt=图像:Tsvn_25.png src="TortoiseSVN使用简介.files/Tsvn_25.png" 
width=412> 
<P>现在，我们要为trunk这个目录建立一个branch。假设我们希望这个目录是在D:\working\my_prj\branch 
\my_new_branch_for_testing。首先我们可以在trunk目录下面的空白处，或是直接在trunk的icon下面按下鼠标右键。 
<P><IMG height=521 alt=图像:Tsvn_26.png src="TortoiseSVN使用简介.files/Tsvn_26.png" 
width=347> 
<P>在选择Branch/Tag…这个项目后，您将会看到如下的对话框出现。 
<P><IMG height=505 alt=图像:Tsvn_27.png src="TortoiseSVN使用简介.files/Tsvn_27.png" 
width=456> 
<P>请先确认From WC at URL: 中的目录是您要复制的来源目录。接着，在To 
URL中输入您要复制过去的路径。通常我们会将所有的branch集中在一个目录下面。以上面的例子来说，branch档案都会集中在branch的子目录下面。在To 
URL中您只需要输入您要的目录即可。目录不存在时，会由SVN帮您建立。特别需要注意的是SVN因为斜线作为目录分隔字符，而非反斜线。 
<P>接着在Log message输入您此次branch的目的为何。按下OK就可以了。 
<P>如果成功，将可以看到下面的画面： 
<P><IMG height=302 alt=图像:Tsvn_28.png src="TortoiseSVN使用简介.files/Tsvn_28.png" 
width=554> 
<P>按下OK就可以关闭这个窗口了。如果您此时立刻去working 
copy的branch子目录下面，您将会失望的发现在该目录下面并没有刚刚指定的目录存在。这是因为您working 
copy的部份还是旧的，您只需要在branch子目录下面进行SVN 
update就可以看到这个新增的目录了。新增的目录就与原来的目录无关了。您可以任意对他进行编辑，一直到您确认好所有在branch下面该做的工作都完成后，您可以选择将这个branch 
merge回原来的trunk目录，或者是保留它在branch中。 
<P>要merge回trunk目录中，方法很简单。以上面的例子来说，我们在D:\working\my_prj\trunk目录空白处，按下鼠标右键，选择Merge: 

<P><IMG height=521 alt=图像:Tsvn_29.png src="TortoiseSVN使用简介.files/Tsvn_29.png" 
width=347> 
<P>接着可以看到如下的画面： 
<P><IMG height=484 alt=图像:Tsvn_30.png src="TortoiseSVN使用简介.files/Tsvn_30.png" 
width=600> 
<P>这个画面主要分为三个部份，前面的From: 与 To: 
是要问您打算从Branch中的哪个版本到哪个版本，merge回原来的trunk目录中。因此，From跟To的URL字段应当都是指定原来 
branch的目录下。剩下的就是指定要merge的revision范围。以上面的例子而言，我们从Branch的Revision 
7开始merge到Branch下面的最新版本。您可以透过，Dry 
run按钮，试作一次Merge。这个merge只会显示一些讯息，不会真正的更新到trunk的目录去。只有按下Merge按钮后，才会真正的将 
branch的档案与trunk的档案合并起来。 
<P><IMG height=302 alt=图像:Tsvn_31.png src="TortoiseSVN使用简介.files/Tsvn_31.png" 
width=554> 
<P>上面的讯息告诉我们在trunk目录下面的yyyy.cpp及xxx1.cpp已经被更改过了。如果您在现在到trunk目录下，会看到这两个档案处于被修改的状态。 

<P><IMG height=362 alt=图像:Tsvn_32.png src="TortoiseSVN使用简介.files/Tsvn_32.png" 
width=412> 
<P>如果您确认这次的merge没有问题，您可以直接使用commit来将这两个被修改的档案commit回SVN 
repository上。如果有问题，您可以直接修改这两个档案，直到确认ok了，再行commit。 
<P><IMG height=333 alt=图像:Tsvn_33.png src="TortoiseSVN使用简介.files/Tsvn_33.png" 
width=179> <IMG height=504 alt=图像:Tsvn_34.png 
src="TortoiseSVN使用简介.files/Tsvn_34.png" width=768> <IMG height=302 
alt=图像:Tsvn_35.png src="TortoiseSVN使用简介.files/Tsvn_35.png" width=554> 
<P>一切顺利的话，您就成功的将branch的档案merge回trunk了。 
<H4><A name=10></A>制作Tag或是Release </H4>
<P>所谓的Tag或是Release就是一个特别的版本，因为这个版本可能有特别的意义。例如：这个版本是特别的Milestone或是release给客户的版本。其实，Tag与Release的作法与Branch完全相同。只是Branch可能会需要merge回原来的trunk中，而tag及 
release大部分都不需要merge回trunk中。举例来说，今天我们的trunk做了一版，这个版本被认定是软件的1.0版。1.0版对于开发来说是一个非常重要的里程碑。所以我们要特别为他做一个标记，亦即Tag。假设，这个 
1.0版是要正式release给客户或是相关vendor，我们要可以为他做一个Release的标记。基本上，SVN只有目录的概念，并没有什么 
Tag的用法。所以您会看到再SVN的选单上面，Branch与Tag是同一个项目。以这个1.0的例子来说，我们就是在Trunk上面，按下鼠标右键，选择Branch/Tag的项目： 

<P><IMG height=521 alt=图像:Tsvn_36.png src="TortoiseSVN使用简介.files/Tsvn_36.png" 
width=347> <IMG height=505 alt=图像:Tsvn_37.png 
src="TortoiseSVN使用简介.files/Tsvn_37.png" width=456> <IMG height=302 
alt=图像:Tsvn_38.png src="TortoiseSVN使用简介.files/Tsvn_38.png" width=554> 
<P>成功的话，您就在Tag目录下面建立了一个1.0的目录。当然，如果您这时到Tag的目录下面去，会看不到这个目录，您需要在Tag目录下面update一下，才能看到它。 

<P><IMG height=362 alt=图像:Tsvn_39.png src="TortoiseSVN使用简介.files/Tsvn_39.png" 
width=412> <IMG height=362 alt=图像:Tsvn_40.png 
src="TortoiseSVN使用简介.files/Tsvn_40.png" width=412> 
<P>制作Release的作法与Tag完全相同。只是把Tag的目录换成Release而已。 
<P>看到这里，相信大家都已经领悟到无论是Branch，Tag或是Release都只是将指定的 
Trunk版本复制一份到另外一个目录去。至于这个目录要叫Branch还是叫Release，SVN根本就不管。所以，您也可取其它的目录名称。不过，Branch，Tag及Release已经是SVN上面约定成俗的名称。所以，除非您知道自己为何这样做，否则，最好还是follow这个命名原则，以免后面新加入的人看不懂。 
<PRE>NOTE：同样的道理Trunk也只是一个约定成俗的名称。不一定要叫Trunk。只是大家看到Trunk目录就会知道这里面放的是主要的开发主干。
</PRE>
<H4><A name=11></A>快速参考 </H4>
<P>前面写了不少废话，主要是给完全没有版本控制观念的人看的。如果你想直接知道某个功能如何使用，请看下面的章节。 
<P>在后面的说明，皆以d:\working当作工作目录。您可以将他换成其它任何您想要的目录。 
<H5><A name=111></A>取得(Checkout)Repository </H5>
<OL>
  <LI>开启档案管理员，进入d: 
  <LI>在档案管理员空白处按下鼠标右键，选择SVN Checkout 
  <LI>在Checkout对话框中， 
  <OL>
    <LI>URL of repository：repository的位置。 
    <LI>Checkout directory：要存放working copy的地方。 </LI></OL>
  <LI>若d:\working目录不存在，SVN会问您要不要建立这个目录，请选择Yes。 
  <LI>接着按下OK，即可checkout该目录。 </LI></OL>
<P><IMG height=320 alt=图像:Tsvn_41.png src="TortoiseSVN使用简介.files/Tsvn_41.png" 
width=456> 
<H5><A name=112></A>更新(Update)档案或目录 </H5>
<OL>
  <LI>在您要由repository更新至working copy的档案或是目录的icon上面按下鼠标右键。选择SVN Update即可。 
  <LI>如果是要更新至特定的版本，则选择TortoiseSVN-&gt;Update to 
  revision。并且在Update对话框中的Revision字段输入您要的版本。也可以透过Show Log按钮来查看版本的信息。 </LI></OL>
<H5><A name=113></A>新增(Add)档案或目录 </H5>
<OL>
  <LI>在尚不属于repository的档案或目录的icon上按下鼠标右键。选择TortoiseSVN-&gt;Add。 
  <LI>选取要新增的档案。 
  <LI>按下OK。 </LI></OL>
<P><IMG height=284 alt=图像:Tsvn_42.png src="TortoiseSVN使用简介.files/Tsvn_42.png" 
width=394><PRE>NOTE：新增的档案要经过提交(Commit)的动作才回真正的放入Repository中。
</PRE>
<H5><A name=114></A>提交(Commit)修改过的档案或目录 </H5>
<OL>
  <LI>在修改过的档案，或是在整个目录的空白处按下鼠标右键。 
  <LI>勾选真正要提交至Repository的档案或目录。 
  <LI>输入本次提交的纪录讯息(Message)。这个讯息应该要清楚明了，但不应过份简单。以利日后版本追踪。 
  <LI>按下OK。 </LI></OL>
<P><IMG height=489 alt=图像:Tsvn_43.png src="TortoiseSVN使用简介.files/Tsvn_43.png" 
width=458> 
<H5><A name=115></A>Copy/Tag/Branch/Release档案或目录 </H5>
<OL>
  <LI>确认您要处理的档案或是目录已经是Repository中最新的版本。 
  <LI>在要处理的目录或是档案上面按下鼠标右键，选择TortoiseSVN-&gt;Branch/Tag。 
  <LI>在To URL处输入您要的目的地。 
  <OL>
    <LI>branch：要产生一个分支。以区别与trunk不同的开发。 
    <LI>tag：要形成一个标记，表示重要的milestone。 
    <LI>release：表示一个已经正式的release的纪录。 
    <LI>其它：进行一个复制(copy)。 </LI></OL></LI></OL>
<P><IMG height=505 alt=图像:Tsvn_44.png src="TortoiseSVN使用简介.files/Tsvn_44.png" 
width=456></P></DIV>
<SCRIPT type=text/javascript>
if ($ != jQuery) {
	$ = jQuery.noConflict();
}
var isLogined = false;
var cb_blogId = 30075;
var cb_entryId = 1816124;
var cb_blogApp = "blsong";
var cb_blogUserGuid = "87813d0b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = '2010/9/2 15:50:00';
</SCRIPT>

<DIV id=blog_post_info_block>
<DIV id=BlogPostCategory></DIV>
<DIV id=EntryTag></DIV>
<DIV id=green_channel style="DISPLAY: none">绿色通道：<A id=green_channel_digg 
onclick="DiggIt(cb_entryId,cb_blogId,1);green_channel_success(this,'谢谢推荐！');" 
href="javascript:void(0);">好文要顶</A><A id=green_channel_follow 
onclick=c_follow(); href="javascript:void(0);">关注我</A><A 
id=green_channel_favorite onclick="AddToWz(1816124);return false;" 
href="javascript:void(0);">收藏该文</A><A id=green_channel_contact 
href="http://space.cnblogs.com/msg/send/é£é¨è2" target=_blank>与我联系</A> 
</DIV>
<DIV id=digg_block>
<DIV id=author_profile>
<DIV class=author_profile_info id=author_profile_info>
<DIV class=author_profile_info id=author_profile_detail></DIV></DIV>
<DIV class=clear></DIV>
<DIV id=author_profile_honor></DIV>
<DIV id=author_profile_follow></DIV></DIV>
<DIV id=div_digg style="DISPLAY: none">
<DIV class=diggit onclick=DiggIt(cb_entryId,cb_blogId,1)><SPAN class=diggnum 
id=digg_count></SPAN></DIV>
<DIV class=buryit onclick=DiggIt(cb_entryId,cb_blogId,2)><SPAN class=burynum 
id=bury_count></SPAN></DIV>
<DIV class=clear></DIV>
<DIV class=diggword id=digg_tips></DIV></DIV></DIV>
<DIV class=clear></DIV>
<DIV id=post_next_prev></DIV></DIV>
<SCRIPT type=text/javascript>
LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
GetPrevNextPost(cb_blogId, cb_entryCreatedDate);
</SCRIPT>
</DIV>
<P class=postfoot>posted on 2010-09-02 15:50 <A 
href="http://www.cnblogs.com/blsong/">风雨者2</A> 阅读(8813) <A 
href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#commentform">评论(0)</A> 
<A 
onclick="open_link('http://www.cnblogs.com/blsong/admin/EditPosts.aspx?postid=1816124')" 
href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#" 
rel=nofollow>编辑</A> <A onclick="AddToWz(1816124);return false;" 
href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">收藏</A> 
</P></DIV><IMG height=1 alt="" src="TortoiseSVN使用简介.files/1816124.jpg" width=1>
<SCRIPT type=text/javascript>
    var commentAuthorHasChecked = false;
    var commentAuthorIsValid = false;
    var commentUrlIsValid = true;
    var commentEmailIsValid = true;
    var authenCodeHasChecked = false;
    var authenCodeIsValid = true;
    var hasLogined = false;
    
    function PostComment() {    
        
        var isValid = true;
        
        if($("#wrapAuthenCode").css("display")=="none"){
            ShowAuthenCode();
            $("#tip_AuthenCode").css("color","red");
            $("#tip_AuthenCode").html("请输入验证码！");
            isValid = false;
        }
        
        if(!hasLogined && !commentAuthorHasChecked){
            CheckAuthor();        
        }                
        if(!hasLogined && !commentAuthorIsValid){
            isValid = false;
        }
                       
        if(!authenCodeHasChecked){
            CheckAuthenCode();            
        }
        if(!authenCodeIsValid){
            isValid = false;
        }
        
        if(!hasLogined && !commentUrlIsValid){            
            isValid = false;
        }        
        if(!commentEmailIsValid){            
            isValid = false;
        }        
        if(!CheckCommentContent()){
            isValid = false;
        }    
        if(!isValid){
            return;
        }

        var content = $("#tbCommentBody").val();
        if(content.length>2000){
            alert("评论内容过长！不允许发布！");
            return;
        }     
        
        if(content.indexOf("　Ｅ　　　　　　　　　Ｅ　　　　　　　　　　Ｅ　　　　　　")>=0){
            alert("该内容不允许布！");
            return;
        }   
        
       if ($("#span_comment_posted").html()!='' && $("#span_comment_posted").html()==content){
            alert("该评论已发表过!");
            return;
        }
        
        $("#tip_comment").html("评论提交中...");
        $("#span_comment_posted").html(content);
        //content = content.replace("'", "\\'");
        var email = $("#tbCommentEmail").val();
        var authenNum = $("#tbAuthenCode").val();
        var authenId = $("#span_comment_test").html();
        var comment = {};
        comment.authenNum = authenNum;
        comment.authenId= authenId;
        comment.parentId = 0;
        comment.blogId = 0;
        comment.sourceUrl = '';
        comment.author = $("#tbCommentAuthor").val();
        comment.url = $("#tbCommentAuthorUrl").val();
        comment.authenCode = $("#tbAuthenCode").val();
        comment.email = email;
        comment.title = '';
        comment.content = content;
        comment.parentCommentId = $("#span_parentcomment_id").html();
        $.ajax({
            url: '/ws/CommentService.asmx/AddAnonymousComment',
            data: $.toJSON(comment),
            type: "post",
            dataType: "json",
            contentType: "application/json; charset=utf8",
            success: function(data) {
               if (data.d["IsSuccess"]) {
                    ShowCommentMsg("感谢您的回复:)");
                    //RereshComments2(comment.parentId);
                    $("#tbCommentBody").val('');
                    //$("#divCommentShow").html(data.d["ReturnData"]+content.replace(/\n/g,"<br/>")+"<br/><br/>");
                    $("#divCommentShow").html($("#divCommentShow").html()+data.d["ReturnData"]); 
                    $("#tip_AuthenCode").html('');
                    RefreshAuthenCode();
                    $("#tbAuthenCode").val("");                    
                    CommentNotify(data.d["CommentID"]);
                }
                else {
                    ShowCommentMsg(data.d["ReturnData"]);//"抱歉！评论提交失败！请与管理员联系。");
                    $("#span_comment_posted").html(''); 
                }
            },
            error: function(xhr) {
                ShowCommentMsg("抱歉！评论提交失败！请与管理员联系。");
                $("#span_comment_posted").html('');  
                //alert(xhr.responseText);
            }
        }
        );
    }
    
    function RefreshAuthenCode(){
        AjaxPost("/ws/CommentService.asmx/RefreshAuthenCode","{}",RefreshImg); 
        $("#lnkRereshAuthenCode").html("<span style='color:red'>刷新中...</span>");
        return false;
    }
    
    function RefreshImg(response){
       $("#imgAuthenCode").attr("src","/Modules/CaptchaImage/ValidCodeImage.aspx?id="+encodeURIComponent(response));
       $("#span_comment_test").html(response);
       $("#lnkRereshAuthenCode").html("看不清，换一个");
    }
    
    function ShowAuthenCode(){
        //if($("#wrapAuthenCode").css("display")=="none"){    
        //    AjaxPost("/ws/CommentService.asmx/RefreshAuthenCode","{}",ShowAuthenCodeOk);
        //}
        $("#wrapAuthenCode").show();      
    }
    
    function ShowAuthenCodeOk(response){
         UpdateAuthenCode();
         $("#tbAuthenCode").val("");
         $("#wrapAuthenCode").show();
         $("#tip_AuthenCode").html('');
    }  
 
    
    function CheckAuthor(isOnblur){
        commentAuthorHasChecked = true;
        var maxLength = 30;
        if($("#tbCommentAuthor").val().length == 0){
            $("#tip_author").html("请输入您的昵称！");
            commentAuthorIsValid = false;
            return false;
        }     
        else if($("#tbCommentAuthor").val().length > maxLength){
            $("#tip_author").html("昵称不允许超过" + maxLength + "个字符！");
            commentAuthorIsValid = false;
            return false;
        }
        else{
            //if(isOnblur){
                AjaxPost("/ws/CommentService.asmx/IsAuthorExist","{author:'"+$("#tbCommentAuthor").val()+"'}" ,OnCheckAuthorExist);
            //}
            //else{
            //    $("#tip_author").html("");
            //    commentAuthorIsValid = true;
            //}
            return true;
        }
   }
   
    function OnCheckAuthorExist(response){        
        if(!response){
            $("#tip_author").html("");
            commentAuthorIsValid = true;
        }
        else{
            $("#tip_author").html("该昵称已被使用，请更换昵称");
            commentAuthorIsValid = false;
        }
   }
   
    function CheckUrl(){
        var maxLength = 50;
        var url = $("#tbCommentAuthorUrl").val();
        
        if(url.length == 0){
            commentUrlIsValid = true;
            return true;
        }
        else if(url.length > maxLength){
            $("#tip_url").html("主页地址不允许超过" + maxLength + "个字符！");
            commentUrlIsValid = false;
            return false;
        }
        else if(url.indexOf("http://")!=0 || url.indexOf(".") < 0){
            $("#tip_url").html("主页地址要以“http://”开头");
            commentUrlIsValid = false;
            return false;
        }
        else{
            $("#tip_url").html("");
            commentUrlIsValid = true;
            return true;
        }
   }
   
   function CheckEmail(){
        var email = $("#tbCommentEmail").val();
        if(email.length>0){
            var regExp = new RegExp("\\w+@((\\w|\-)+\\.)+[a-z]{2,3}");
            if(!regExp.test(email)){
                $("#tip_email").html("请输入正确的邮件地址!");
                commentEmailIsValid = false;
            }
            else{
                commentEmailIsValid = true;
                 $("#tip_email").html("");
            }
        }
        else{
            commentEmailIsValid = true;
            $("#tip_email").html("");  
        }
   }
   
   function CheckAuthenCode(){
        authenCodeHasChecked = true;
        var num = $("#tbAuthenCode").val();
        var id = $("#span_comment_test").html();
        $("#tip_AuthenCode").css("color","red");
        if(num.length==0){
             authenCodeIsValid = false;
             $("#tip_AuthenCode").html("请输入验证码！");
             return;
        }
        else if(num.length!=4){
            authenCodeIsValid = false;
            $("#tip_AuthenCode").html("请输入四位数字！");
             return;
        }
        else if(new RegExp("(\d+)").test(num)){
            authenCodeIsValid = false;
            $("#tip_AuthenCode").html("请输入四位数字！");
             return;
        }
        else{
            AjaxPost("/ws/CommentService.asmx/CheckAuthenCode","{number:"+num+",id:'"+id+"'}", OnCheckAuthenCode);
        }
   }
   
   function OnCheckAuthenCode(response){
        if(response){
            $("#tip_AuthenCode").css("color","green");
            $("#tip_AuthenCode").html("验证码输入正确！");
            authenCodeIsValid = true;            
        }
        else{
            $("#tip_AuthenCode").css("color","red");
            $("#tip_AuthenCode").html("验证码输错啦！");
            RefreshAuthenCode();
            authenCodeIsValid = false;           
        }
   }
   
   function CheckCommentContent(){
    if($("#tbCommentBody").val().length==0){
        alert("请输入评论内容！");
        return false;
    }
    return true;
   }
    
</SCRIPT>
 
<DIV class=commentform id=ctl02_comment_form>
<SCRIPT type=text/javascript>
    try {
        SyntaxHighlighter.all();
        isSyntaxHighlighted = true;
    } catch (e) { }
</SCRIPT>

<DIV id=ctl02_divLoginPannel>
<DIV class=login_tips>注册用户登录后才能发表评论，请 <A class=underline 
href="http://passport.cnblogs.com/login.aspx?ReturnUrl=http%3a%2f%2fwww.cnblogs.com%2fblsong%2farchive%2f2010%2f09%2f02%2f1816124.html%3flogin%3d1%23commentform" 
rel=nofollow>登录</A> 或 <A class=underline 
href="http://passport.cnblogs.com/register.aspx?ReturnUrl=http%3a%2f%2fwww.cnblogs.com%2fblsong%2farchive%2f2010%2f09%2f02%2f1816124.html%23Bottom2" 
rel=nofollow>注册</A>，<A href="http://www.cnblogs.com/" 
target=_blank>返回博客园首页</A>。</DIV></DIV>
<DIV class="itnews c_ad_block">
<DIV id=ad_text_commentbox><A href="http://a4.yeshj.com/rd/40337/" 
target=_blank>3800元，PHP工作学到家！</A> </DIV><B>最新IT新闻</B>:<BR>· <A 
href="http://news.cnblogs.com/n/108611/" target=_blank>Droid 3 
：外观无惊喜，跑分有亮点</A><BR>· <A href="http://news.cnblogs.com/n/108609/" 
target=_blank>高朋网澄清大规模裁员传闻：属正常人员调整</A><BR>· <A 
href="http://news.cnblogs.com/n/108608/" target=_blank>搜狐张朝阳：还不关心微博是否赚钱</A><BR>· 
<A href="http://news.cnblogs.com/n/108607/" target=_blank>iPhone另类创意 
看看美女在干啥</A><BR>· <A href="http://news.cnblogs.com/n/108606/" 
target=_blank>Groupon：公司不缺钱 未来12个月不花IPO募资</A><BR>» <A title=IT新闻 
href="http://news.cnblogs.com/" target=_blank>更多新闻...</A> </DIV>
<SCRIPT src="TortoiseSVN使用简介.files/google_service.js" 
type=text/javascript></SCRIPT>

<SCRIPT type=text/javascript>
    var c_enable_dfp = true;
    if (navigator.userAgent.indexOf("Chrome/6.0.401.1") > 0) {
        c_enable_dfp = false;
    }
    if (c_enable_dfp) {
        try {
            GS_googleAddAdSenseService("ca-pub-4210569241504288");
            GS_googleEnableAllServices();
        }
        catch (e) { }
    }
</SCRIPT>

<SCRIPT type=text/javascript>
    if (c_enable_dfp) {
        try {
            GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_bottom");
            GA_googleAddSlot("ca-pub-4210569241504288", "cnblogs_blogpost_C2");
        }
        catch (e) { }
    }
</SCRIPT>

<SCRIPT type=text/javascript>
    if (c_enable_dfp) {
        try {
            GA_googleFetchAds();
        } catch (e) { }
    }
</SCRIPT>

<DIV class=c_ad_block>
<SCRIPT type=text/javascript>
    try {
        if (c_enable_dfp) {

            GA_googleFillSlot("cnblogs_blogpost_bottom");
        }
    }
    catch (e) { }
</SCRIPT>
</DIV>
<DIV class=c_ad_block>
<SCRIPT type=text/javascript>
    try {
        if (c_enable_dfp) {

            GA_googleFillSlot("cnblogs_blogpost_C2");
        }
    }
    catch (e) { }
</SCRIPT>
</DIV>
<DIV class="itnews c_ad_block" id=kb_block><B>知识库最新文章</B>:<BR>
<DIV id=kb_recent><A href="http://kb.cnblogs.com/page/108441/" 
target=_blank>我在赶集网的两个月（完整版）</A><BR><A href="http://kb.cnblogs.com/page/108334/" 
target=_blank>从 Lisp 程序员的视角看 Java 语言的缺点</A><BR><A 
href="http://kb.cnblogs.com/page/108171/" 
target=_blank>深度分析HTML5在移动开发方面的发展状况</A><BR><A 
href="http://kb.cnblogs.com/page/106722/" target=_blank>《Effective 
C#中文版：改善C#程序的50种方法》读书笔记</A><BR><A href="http://kb.cnblogs.com/page/107859/" 
target=_blank>产品不要被技术绑架的十大注意事项</A><BR></DIV>» <A href="http://news.cnblogs.com/" 
target=_blank>更多知识库文章...</A> </DIV>
<DIV class=c_ad_block id=HistoryToday></DIV>
<SCRIPT type=text/javascript>
    $(document).ready(function () {
        GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);
    });
</SCRIPT>

<DIV class=c_ad_block id=site_nav_under>网站导航: <A href="http://www.cnblogs.com/" 
target=_blank>博客园首页</A> &nbsp;<A href="http://news.cnblogs.com/" 
target=_blank>IT新闻</A> &nbsp;<A href="http://home.cnblogs.com/" 
target=_blank>我的园子</A> &nbsp;<A href="http://home.cnblogs.com/ing/" 
target=_blank>闪存</A> &nbsp;<A href="http://job.cnblogs.com/" 
target=_blank>程序员招聘</A> &nbsp;<A href="http://home.cnblogs.com/q/" 
target=_blank>博问</A> </DIV>
<DIV class=c_ad_block id=ad_under_comment2><A 
href="http://www.china-pub.com/STATIC07/1104/jsj_bangding_110421.asp?ref=bky" 
target=_blank><IMG 
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" 
alt="" src="TortoiseSVN使用简介.files/china-pub.jpg"></A><BR><A 
href="http://www.china-pub.com/itbook/" target=_blank>China-pub 
计算机图书网上专卖店！6.5万品种2-8折！</A><BR><A 
href="http://www.china-pub.com/static07/0901/zh_jueba_090121.asp" 
target=_blank>China-Pub 计算机绝版图书按需印刷服务</A><BR></DIV>
<DIV id=clear_reader_link>
<DIV id=kb_link>简洁版式：<A 
href="http://archive.cnblogs.com/a/1816124/">TortoiseSVN使用简介</A></DIV></DIV></DIV></DIV></DIV>
<DIV id=leftmenu>
<H3>导航</H3>
<UL>
  <LI><A id=MyLinks1_HomeLink href="http://www.cnblogs.com/">博客园</A> 
  <LI><A class=two_words id=MyLinks1_MyHomeLink 
  href="http://www.cnblogs.com/blsong/">首页</A> 
  <LI><A id=MyLinks1_NewPostLink 
  href="http://www.cnblogs.com/blsong/admin/EditPosts.aspx?opt=1" 
  rel=nofollow>新随笔</A> 
  <LI><A class=two_words id=MyLinks1_ContactLink accessKey=9 
  href="http://space.cnblogs.com/msg/send/é£é¨è2" rel=nofollow>联系</A> 
  <LI><A class=two_words id=MyLinks1_Syndication 
  href="http://www.cnblogs.com/blsong/rss">订阅</A> <A id=MyLinks1_XMLLink 
  href="http://www.cnblogs.com/blsong/rss"><IMG alt=订阅 
  src="TortoiseSVN使用简介.files/xml.gif"></A> 
  <LI><A class=two_words id=MyLinks1_Admin 
  href="http://www.cnblogs.com/blsong/admin/EditPosts.aspx" rel=nofollow>管理</A> 
  </LI></UL>
<TABLE class=Cal id=Calendar1_entryCal title=Calendar 
style="BORDER-RIGHT: 1px solid; BORDER-TOP: 1px solid; BORDER-LEFT: 1px solid; BORDER-BOTTOM: 1px solid; BORDER-COLLAPSE: collapse" 
cellSpacing=0 cellPadding=0>
  <TBODY>
  <TR>
    <TD style="BACKGROUND-COLOR: silver" colSpan=7>
      <TABLE class=CalTitle style="WIDTH: 100%; BORDER-COLLAPSE: collapse" 
      cellSpacing=0>
        <TBODY>
        <TR>
          <TD class=CalNextPrev style="WIDTH: 15%"><A 
            title="Go to the previous month" style="COLOR: black" 
            href="javascript:__doPostBack('Calendar1$entryCal','V3865')">&lt;</A></TD>
          <TD style="WIDTH: 70%" align=middle>2010年9月</TD>
          <TD class=CalNextPrev style="WIDTH: 15%" align=right><A 
            title="Go to the next month" style="COLOR: black" 
            href="javascript:__doPostBack('Calendar1$entryCal','V3926')">&gt;</A></TD></TR></TBODY></TABLE></TD></TR>
  <TR>
    <TH class=CalDayHeader scope=col align=middle abbr=日>日</TH>
    <TH class=CalDayHeader scope=col align=middle abbr=一>一</TH>
    <TH class=CalDayHeader scope=col align=middle abbr=二>二</TH>
    <TH class=CalDayHeader scope=col align=middle abbr=三>三</TH>
    <TH class=CalDayHeader scope=col align=middle abbr=四>四</TH>
    <TH class=CalDayHeader scope=col align=middle abbr=五>五</TH>
    <TH class=CalDayHeader scope=col align=middle abbr=六>六</TH></TR>
  <TR>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>29</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>30</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>31</TD>
    <TD style="WIDTH: 14%" align=middle>1</TD>
    <TD style="WIDTH: 14%" align=middle><A 
      href="http://www.cnblogs.com/blsong/archive/2010/9/2.html"><U>2</U></A></TD>
    <TD style="WIDTH: 14%" align=middle>3</TD>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>4</TD></TR>
  <TR>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>5</TD>
    <TD style="WIDTH: 14%" align=middle><A 
      href="http://www.cnblogs.com/blsong/archive/2010/9/6.html"><U>6</U></A></TD>
    <TD style="WIDTH: 14%" align=middle>7</TD>
    <TD style="WIDTH: 14%" align=middle>8</TD>
    <TD style="WIDTH: 14%" align=middle>9</TD>
    <TD style="WIDTH: 14%" align=middle><A 
      href="http://www.cnblogs.com/blsong/archive/2010/9/10.html"><U>10</U></A></TD>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>11</TD></TR>
  <TR>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>12</TD>
    <TD style="WIDTH: 14%" align=middle>13</TD>
    <TD style="WIDTH: 14%" align=middle>14</TD>
    <TD style="WIDTH: 14%" align=middle>15</TD>
    <TD style="WIDTH: 14%" align=middle>16</TD>
    <TD style="WIDTH: 14%" align=middle>17</TD>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>18</TD></TR>
  <TR>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>19</TD>
    <TD style="WIDTH: 14%" align=middle>20</TD>
    <TD style="WIDTH: 14%" align=middle>21</TD>
    <TD style="WIDTH: 14%" align=middle>22</TD>
    <TD style="WIDTH: 14%" align=middle>23</TD>
    <TD style="WIDTH: 14%" align=middle>24</TD>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>25</TD></TR>
  <TR>
    <TD class=CalWeekendDay style="WIDTH: 14%" align=middle>26</TD>
    <TD style="WIDTH: 14%" align=middle>27</TD>
    <TD style="WIDTH: 14%" align=middle><A 
      href="http://www.cnblogs.com/blsong/archive/2010/9/28.html"><U>28</U></A></TD>
    <TD style="WIDTH: 14%" align=middle>29</TD>
    <TD style="WIDTH: 14%" align=middle><A 
      href="http://www.cnblogs.com/blsong/archive/2010/9/30.html"><U>30</U></A></TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>1</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>2</TD></TR>
  <TR>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>3</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>4</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>5</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>6</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>7</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" align=middle>8</TD>
    <TD class=CalOtherMonthDay style="WIDTH: 14%" 
align=middle>9</TD></TR></TBODY></TABLE>
<META content=False name=vs_showGrid>
<H3>公告</H3>
<P>欢迎光临我的小屋</P>
<DIV id=profile_block>昵称：<A 
href="http://www.cnblogs.com/blsong/">风雨者2</A><BR>园龄：<A 
href="http://home.cnblogs.com/u/blsong/">3年</A><BR>粉丝：<A 
href="http://home.cnblogs.com/u/blsong/followers/">38</A><BR>关注：<A 
href="http://home.cnblogs.com/u/blsong/followees/">135</A><BR><SPAN 
id=p_b_follow></SPAN>
<SCRIPT type=text/javascript>cnblogs.UserManager.GetFollowStatus('87813d0b-63cf-dd11-9e4d-001cf0cd104b')</SCRIPT>
</DIV>
<DIV id=side_ing_block>
<H3 class=catListTitle>最新闪存</H3>
<UL>
  <LI>INSERT INTO DataBase2.dbo.ARCHIVES_BORROW_DATA SELECT * FROM 
  DataBase1.dbo.ARCHIVES_BORROW_DATA WHERE 1=1 <A class=ing_lnk 
  href="http://home.cnblogs.com/ing/197873/">07-12 16:47</A>
  <LI>焦急时不妨冷静一下，给自己一些思考的时间，想想自已到底忘记了那些事情。 <A class=ing_lnk 
  href="http://home.cnblogs.com/ing/197845/">07-12 15:14</A>
  <LI>简单就是美，简单就能感到幸福！ <A class=ing_lnk 
  href="http://home.cnblogs.com/ing/196538/">07-04 12:47</A>
  <LI>工作放一放，心事搁一搁，烦恼抛一抛，身体歇一歇，心情酿一酿，开心笑一笑，牙齿露一露，快乐好心情。 <A class=ing_lnk 
  href="http://home.cnblogs.com/ing/194898/">06-23 12:42</A>
  <LI>struts2 ajax树 <A class=ing_lnk 
  href="http://home.cnblogs.com/ing/192071/">06-07 15:00</A>
  <LI><A class=ing_lnk 
  href="http://home.cnblogs.com/blsong/ing/">更多闪存...</A></LI></UL></DIV>
<SCRIPT type=text/javascript>
var blogapp = 'blsong';
</SCRIPT>

<DIV class=mySearch>
<H3 class=catListTitle>搜索</H3>
<DIV class=div_my_zzk><INPUT class=input_my_zzk id=q 
onkeydown="return zzk_go_enter(event);">&nbsp;<INPUT class=btn_my_zzk id=btnZzk onclick=zzk_go() type=button value=找找看></DIV></DIV>
<H3 class=catListTitle>常用链接</H3>
<UL>
  <LI><A id=SingleColumn1_ctl02_rptMainLinks_lnkLinkItem_0 
  href="http://www.cnblogs.com/blsong/MyPosts.html">我的随笔</A> 
  <LI><A id=SingleColumn1_ctl02_rptMainLinks_lnkLinkItem_1 
  href="http://home.cnblogs.com/blsong/">我的空间</A> 
  <LI><A id=SingleColumn1_ctl02_rptMainLinks_lnkLinkItem_2 
  href="http://space.cnblogs.com/msg/recent">我的短信</A> 
  <LI><A id=SingleColumn1_ctl02_rptMainLinks_lnkLinkItem_3 
  href="http://www.cnblogs.com/blsong/MyComments.html">我的评论</A> 
  <LI><A id=itemListLink 
  onclick="this.blur();WarpClass('itemListLink', 'itemListLin_con');return false;" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">更多链接</A> 
  </LI></UL>
<DIV id=itemListLin_con style="DISPLAY: none">
<UL>
  <LI><A id=SingleColumn1_ctl02_repeaterLinks_lnkLinkItem_0 title=我发表过评论的随笔 
  href="http://www.cnblogs.com/blsong/OtherPosts.html">我的参与</A> 
  <LI><A id=SingleColumn1_ctl02_repeaterLinks_lnkLinkItem_1 
  href="http://www.cnblogs.com/blsong/MyNews.html">我的新闻</A> 
  <LI><A id=SingleColumn1_ctl02_repeaterLinks_lnkLinkItem_2 
  href="http://www.cnblogs.com/blsong/RecentComments.html">最新评论</A> 
  <LI><A id=SingleColumn1_ctl02_repeaterLinks_lnkLinkItem_3 
  href="http://www.cnblogs.com/blsong/tag/">我的标签</A> </LI></UL></DIV>
<H3 class=catListTitle>我参与的团队</H3>
<DIV class=RecentComment>
<UL style="WORD-BREAK: break-all">
  <LI><A id=SingleColumn1__10e7ead_TeamList_lnkTeam_0 
  href="http://www.cnblogs.com/team/Xian/">微软（西安）.NET开发俱乐部(0/0)</A> 
  <LI><A id=SingleColumn1__10e7ead_TeamList_lnkTeam_1 
  href="http://www.cnblogs.com/team/wpf_sl/">WPF/Silverlight深蓝团队(0/0)</A> 
</LI></UL></DIV>
<H3>随笔分类</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_0 
  href="http://www.cnblogs.com/blsong/category/110105.html">asp.net(36)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_0 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/110105.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_1 
  href="http://www.cnblogs.com/blsong/category/217561.html">asp.net 
  ajax(7)</A><A id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_1 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217561.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_2 
  href="http://www.cnblogs.com/blsong/category/227919.html">asp.net MVC(2)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_2 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/227919.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_3 
  href="http://www.cnblogs.com/blsong/category/227927.html">C#编程(50)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_3 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/227927.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_4 
  href="http://www.cnblogs.com/blsong/category/217560.html">javascript(21)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_4 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217560.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_5 
  href="http://www.cnblogs.com/blsong/category/221020.html">SQL SERVER(22)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_5 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/221020.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_6 
  href="http://www.cnblogs.com/blsong/category/217563.html">WCF(5)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_6 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217563.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_7 
  href="http://www.cnblogs.com/blsong/category/217562.html">winform(24)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_7 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217562.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_8 
  href="http://www.cnblogs.com/blsong/category/241545.html">WinForm开发(13)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_8 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/241545.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_9 
  href="http://www.cnblogs.com/blsong/category/224995.html">保健养生(10)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_9 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/224995.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_10 
  href="http://www.cnblogs.com/blsong/category/228988.html">多线程(3)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_10 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/228988.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_11 
  href="http://www.cnblogs.com/blsong/category/217564.html">分布式技术(1)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_11 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217564.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_12 
  href="http://www.cnblogs.com/blsong/category/306626.html">领域驱动设计</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_12 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/306626.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_13 
  href="http://www.cnblogs.com/blsong/category/217578.html">平凡生活(14)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_13 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217578.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_14 
  href="http://www.cnblogs.com/blsong/category/227916.html">设计模式(3)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_14 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/227916.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_15 
  href="http://www.cnblogs.com/blsong/category/306625.html">数据访问和存储</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_15 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/306625.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_16 
  href="http://www.cnblogs.com/blsong/category/217559.html">数据库技术(17)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_16 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/217559.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_17 
  href="http://www.cnblogs.com/blsong/category/266180.html">算法与数据结构(4)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_17 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/266180.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_18 
  href="http://www.cnblogs.com/blsong/category/227921.html">项目和团队管理(1)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_18 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/227921.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_0_Link_19 
  href="http://www.cnblogs.com/blsong/category/109979.html">学习感悟(13)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_0_RssLink_19 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/109979.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 
  </LI></UL>
<H3>随笔档案</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_0 
  href="http://www.cnblogs.com/blsong/archive/2011/07.html">2011年7月 (3)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_1 
  href="http://www.cnblogs.com/blsong/archive/2011/06.html">2011年6月 (5)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_2 
  href="http://www.cnblogs.com/blsong/archive/2011/04.html">2011年4月 (9)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_3 
  href="http://www.cnblogs.com/blsong/archive/2011/03.html">2011年3月 (7)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_4 
  href="http://www.cnblogs.com/blsong/archive/2011/01.html">2011年1月 (4)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_5 
  href="http://www.cnblogs.com/blsong/archive/2010/12.html">2010年12月 (4)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_6 
  href="http://www.cnblogs.com/blsong/archive/2010/11.html">2010年11月 (1)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_7 
  href="http://www.cnblogs.com/blsong/archive/2010/10.html">2010年10月 (29)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_8 
  href="http://www.cnblogs.com/blsong/archive/2010/09.html">2010年9月 (11)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_9 
  href="http://www.cnblogs.com/blsong/archive/2010/08.html">2010年8月 (28)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_10 
  href="http://www.cnblogs.com/blsong/archive/2010/07.html">2010年7月 (2)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_11 
  href="http://www.cnblogs.com/blsong/archive/2010/04.html">2010年4月 (8)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_12 
  href="http://www.cnblogs.com/blsong/archive/2010/03.html">2010年3月 (8)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_13 
  href="http://www.cnblogs.com/blsong/archive/2010/02.html">2010年2月 (6)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_14 
  href="http://www.cnblogs.com/blsong/archive/2010/01.html">2010年1月 (20)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_15 
  href="http://www.cnblogs.com/blsong/archive/2009/12.html">2009年12月 (41)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_16 
  href="http://www.cnblogs.com/blsong/archive/2009/11.html">2009年11月 (21)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_17 
  href="http://www.cnblogs.com/blsong/archive/2009/07.html">2009年7月 (1)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_18 
  href="http://www.cnblogs.com/blsong/archive/2007/11.html">2007年11月 (1)</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_1_Link_19 
  href="http://www.cnblogs.com/blsong/archive/2007/10.html">2007年10月 (1)</A> 
  </LI></UL>
<H3>文章分类</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_2_Link_0 
  href="http://www.cnblogs.com/blsong/category/109978.html">asp.net</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_2_RssLink_0 
  onclick="return open_link('http://www.cnblogs.com/blsong/category/109978.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 
  </LI></UL>
<H3>相册</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_3_Link_0 
  href="http://www.cnblogs.com/blsong/gallery/226648.html" 
  rel=nofollow>BeautyGirl</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_3_Link_1 
  href="http://www.cnblogs.com/blsong/gallery/109984.html" rel=nofollow>我的图片</A> 
  </LI></UL>
<H3>收藏夹</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_0 
  href="http://www.cnblogs.com/blsong/favorite/109983.html" 
  rel=nofollow>asp.net(192)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_0 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/109983.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_1 
  href="http://www.cnblogs.com/blsong/favorite/110083.html" 
  rel=nofollow>codeplex.com </A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_1 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110083.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_2 
  href="http://www.cnblogs.com/blsong/favorite/110085.html" 
  rel=nofollow>http://www.cnblogs.com/blsong/favorite/110085.html</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_2 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110085.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_3 
  href="http://www.cnblogs.com/blsong/favorite/110084.html" 
  rel=nofollow>http://www.cnblogs.com/blsong/favorite/110084.html</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_3 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110084.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_4 
  href="http://www.cnblogs.com/blsong/favorite/110087.html" 
  rel=nofollow>http://www.cnblogs.com/blsong/favorite/110087.html</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_4 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110087.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_5 
  href="http://www.cnblogs.com/blsong/favorite/110086.html" 
  rel=nofollow>http://www.cnblogs.com/blsong/favorite/110086.html</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_5 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110086.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_6 
  href="http://www.cnblogs.com/blsong/favorite/110090.html" 
  rel=nofollow>小草(2)</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_6 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110090.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_4_Link_7 
  href="http://www.cnblogs.com/blsong/favorite/110092.html" 
  rel=nofollow>中国DNN团队博客</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_4_RssLink_7 
  onclick="return open_link('http://www.cnblogs.com/blsong/favorite/110092.html/rss');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 
  </LI></UL>
<H3>asp.net 精品博客</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_0 
  href="http://topic.csdn.net/u/20091107/18/86d772cb-7d19-46b5-aaee-dac6300e85e4.html" 
  rel=nofollow>【分享-Transact-SQL编程规范】</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_1 
  href="http://blog.csdn.net/L_serein/archive/2008/09/26/2983223.aspx">C# 
  添加,修改,删除 文件夹 文件 大全</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_2 
  href="http://www.cnblogs.com/QLeelulu/archive/2008/04/21/1163021.html">jQuery 
  Ajax 全解析</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_3 
  href="http://topic.csdn.net/u/20100416/15/5afacf93-75e6-4343-8b7f-c80edf2185cf.html" 
  rel=nofollow>jQuery技巧</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_4 
  href="http://space.cnblogs.com/group/topic/4683/" rel=nofollow>Lucene.Net 
  2.3.1开发介绍 —— 阅读索引 </A><A 
  id=SingleColumn1_Categories_CatList_LinkList_5_RssLink_4 
  onclick="return open_link('http://space.cnblogs.com/group/topic/4683/');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI class=c_b_p_link_desc>http://space.cnblogs.com/group/topic/4683/ 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_5 
  href="http://topic.csdn.net/u/20100418/12/E0910541-76E5-444D-B3F7-C6D4F3A6B7C7.html" 
  rel=nofollow>数据库批量备份存储过程(判断盘符、路径</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_6 
  href="http://topic.csdn.net/u/20100420/10/5D92236B-E24A-4A9B-BB51-49D6C13F9DFC.html" 
  rel=nofollow>数据库中经常用到的操作和管理</A><A 
  id=SingleColumn1_Categories_CatList_LinkList_5_RssLink_6 
  onclick="return open_link('http://topic.csdn.net/u/20100420/10/5D92236B-E24A-4A9B-BB51-49D6C13F9DFC.html');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI 
  class=c_b_p_link_desc>http://topic.csdn.net/u/20100420/10/5D92236B-E24A-4A9B-BB51-49D6C13F9DFC.html 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_5_Link_7 
  href="http://www.cnblogs.com/yuewh491/archive/2007/07/24/829315.html">锁·二则——lock关键字详解 
  (转)</A><A id=SingleColumn1_Categories_CatList_LinkList_5_RssLink_7 
  onclick="return open_link('http://www.cnblogs.com/yuewh491/archive/2007/07/24/829315.html');" 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html#">(rss)</A> 

  <LI 
  class=c_b_p_link_desc>http://www.cnblogs.com/yuewh491/archive/2007/07/24/829315.html 
  </LI></UL>
<H3>java博客</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_6_Link_0 
  href="http://www.cnblogs.com/shiqiang124/articles/265487.html" 
  rel=nofollow>SQnote</A> </LI></UL>
<H3>技术网站</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_7_Link_0 
  href="http://blog.csdn.net/iori_guojun/archive/2005/12/07/545501.aspx">oracle 
  sql语句</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_7_Link_1 
  href="http://www.cnblogs.com/HelloSnoopy/articles/105475.html" 
  rel=nofollow>[源代码]ASP.NET中实现Web打印的方案 </A>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_7_Link_2 
  href="http://blog.csdn.net/java060515/archive/2007/08/09/1733396.aspx">Javascript中最常用的55个经典技巧</A> 

  <LI><A id=SingleColumn1_Categories_CatList_LinkList_7_Link_3 
  href="http://lww200661.blog.163.com/blog/static/314615122009414101316698/" 
  rel=nofollow>Oracle 常用 SQL 语句大全</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_7_Link_4 
  href="http://zhouwf0726.itpub.net/post/9689/157970" 
  rel=nofollow>SPOOL、SQLLOADER数据导出导入的一点小总结 </A>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_7_Link_5 
  href="http://topic.csdn.net/u/20091013/15/9f058df7-4d29-47bf-a338-b63fcab2abc0.html" 
  rel=nofollow>整理精华帖子</A> </LI></UL>
<H3>我的好友</H3>
<UL>
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_8_Link_0 
  href="http://www.cnblogs.com/dudu/archive/2007/08/19/861274.html">dudu</A> 
  <LI><A id=SingleColumn1_Categories_CatList_LinkList_8_Link_1 
  href="http://www.cnblogs.com/nyzfl/archive/2007/09/06/884092.html">nyzfl</A> 
  </LI></UL>
<H3 class=catListTitle>最新评论</H3>
<DIV class=RecentComment id=RecentComments>
<UL>
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_0 
  href="http://www.cnblogs.com/blsong/archive/2011/07/07/2099979.html#2149670">1.&nbsp;Re:人生故事</A> 

  <LI>这文章有意思！ 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--梦想天空（山边小溪） 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_1 
  href="http://www.cnblogs.com/blsong/archive/2010/04/13/1710929.html#2134565">2.&nbsp;Re:C# 
  WinForm开发系列 - 文章索引</A> 
  <LI>楼主这个系列文章很好。支持一下。 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--海南.胡勇 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_2 
  href="http://www.cnblogs.com/blsong/archive/2010/10/13/1850428.html#2132987">3.&nbsp;Re:软件开发流程</A> 

  <LI>我飘过,哈哈哈哈 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--aXinNo1 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_3 
  href="http://www.cnblogs.com/blsong/archive/2011/04/26/2028880.html#2080684">4.&nbsp;Re:为TextBox定义快捷键</A> 

  <LI>引用Herb：很巧妙是的.挺不错的小技巧... 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--NewBao 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_4 
  href="http://www.cnblogs.com/blsong/archive/2011/04/26/2028880.html#2080644">5.&nbsp;Re:为TextBox定义快捷键</A> 

  <LI>很巧妙 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--Herb 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_5 
  href="http://www.cnblogs.com/blsong/archive/2010/10/09/1846703.html#2080453">6.&nbsp;Re:Windows服务创建及安装</A> 

  <LI>学习了...... 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--琉球之殇 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_6 
  href="http://www.cnblogs.com/blsong/archive/2011/04/03/2004491.html#2076670">7.&nbsp;Re:告别程序员生涯，一点感慨，与诸君共勉(转CSDN)</A> 

  <LI>有同感 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--大陨石 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_7 
  href="http://www.cnblogs.com/blsong/archive/2011/01/18/1938274.html#2063176">8.&nbsp;Re:C#委托和多线程文章收藏</A> 

  <LI>好的，看看 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--小腼腆 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_8 
  href="http://www.cnblogs.com/blsong/archive/2011/04/03/2004491.html#2061835">9.&nbsp;Re:告别程序员生涯，一点感慨，与诸君共勉(转CSDN)</A> 

  <LI>楼主说得很有道理。我目前的处境跟楼言相似。找了几个哥们一块弄了个行业软件，老实说产品还过得去，但苦于没有销售路子。<BR><A 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/" target=_blank></A>
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--mystring2009 
  <LI><A id=SingleColumn1__22cd2fa_CommentList_Hyperlink1_9 
  href="http://www.cnblogs.com/blsong/archive/2011/03/10/1979344.html#2043128">10.&nbsp;Re:(转)面试题</A> 

  <LI>见过一部分~~ 感觉不错，学习了~ 
  <LI style="MARGIN-RIGHT: 4px; TEXT-ALIGN: right">--Scorpion兰 </LI></UL></DIV>
<H3 class=catListTitle>阅读排行榜</H3>
<DIV class=RecentComment id=TopViewPosts>
<UL style="WORD-BREAK: break-all">
  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_0 
  href="http://www.cnblogs.com/blsong/archive/2010/09/02/1816124.html">1.&nbsp;TortoiseSVN使用简介(8811)</A> 

  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_1 
  href="http://www.cnblogs.com/blsong/archive/2009/11/12/1601513.html">2.&nbsp;oracle 
  sql语句(3625)</A> 
  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_2 
  href="http://www.cnblogs.com/blsong/archive/2010/08/31/1813606.html">3.&nbsp;C# 
  WinForm开发系列 - Crystal Report水晶报表(3588)</A> 
  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_3 
  href="http://www.cnblogs.com/blsong/archive/2010/03/31/1701569.html">4.&nbsp;jquery-easyui(替代 
  extjs) 介绍(2571)</A> 
  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_4 
  href="http://www.cnblogs.com/blsong/archive/2010/08/13/1798987.html">5.&nbsp;TransactionScope使用说明(2554)</A> 

  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_5 
  href="http://www.cnblogs.com/blsong/archive/2010/10/10/1847063.html">6.&nbsp;C#读写文件总结(2411)</A> 

  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_6 
  href="http://www.cnblogs.com/blsong/archive/2010/10/13/1850428.html">7.&nbsp;软件开发流程(2402)</A> 

  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_7 
  href="http://www.cnblogs.com/blsong/archive/2009/11/26/1611331.html">8.&nbsp;ASP.net 
  AJAX代码实例(2263)</A> 
  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_8 
  href="http://www.cnblogs.com/blsong/archive/2009/11/30/1613534.html">9.&nbsp;C#调用存储过程返回值(1930)</A> 

  <LI><A id=SingleColumn1_ctl06_TopList_Hyperlink1_9 
  href="http://www.cnblogs.com/blsong/archive/2010/08/30/1812600.html">10.&nbsp;WinForm开发,窗体显示和窗体传值相关知识总结(1722)</A> 
  </LI></UL></DIV>
<H3 class=catListTitle>评论排行榜</H3>
<DIV class=RecentComment id=TopCommentsPosts>
<UL style="WORD-BREAK: break-all">
  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_0 
  href="http://www.cnblogs.com/blsong/archive/2010/04/13/1710955.html">1.&nbsp;WinForm 
  中ComboBox 绑定总结(4)</A> 
  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_1 
  href="http://www.cnblogs.com/blsong/archive/2010/08/31/1813606.html">2.&nbsp;C# 
  WinForm开发系列 - Crystal Report水晶报表(3)</A> 
  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_2 
  href="http://www.cnblogs.com/blsong/archive/2010/02/02/1661746.html">3.&nbsp;[转]从一个男人关注的事情上 
  可以看出他的修养和抱负(2)</A> 
  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_3 
  href="http://www.cnblogs.com/blsong/archive/2009/11/24/1609697.html">4.&nbsp;ASP.NET实现进度条(2)</A> 

  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_4 
  href="http://www.cnblogs.com/blsong/archive/2011/01/18/1938274.html">5.&nbsp;C#委托和多线程文章收藏(2)</A> 

  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_5 
  href="http://www.cnblogs.com/blsong/archive/2010/01/07/1641236.html">6.&nbsp;iframe在IE6下出现横向滚动条的解决方案(2)</A> 

  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_6 
  href="http://www.cnblogs.com/blsong/archive/2011/04/26/2028880.html">7.&nbsp;为TextBox定义快捷键(2)</A> 

  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_7 
  href="http://www.cnblogs.com/blsong/archive/2011/04/03/2004491.html">8.&nbsp;告别程序员生涯，一点感慨，与诸君共勉(转CSDN)(2)</A> 

  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_8 
  href="http://www.cnblogs.com/blsong/archive/2010/10/20/1856804.html">9.&nbsp;Winform项目开发心得(2)</A> 

  <LI><A id=SingleColumn1_ctl07_TopList_Hyperlink1_9 
  href="http://www.cnblogs.com/blsong/archive/2010/10/09/1846703.html">10.&nbsp;Windows服务创建及安装(2)</A> 
  </LI></UL></DIV>
<H3 class=catListTitle>60天内阅读排行</H3>
<DIV class=RecentComment>
<UL>
  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_0 
  href="http://www.cnblogs.com/blsong/archive/2011/07/04/2097301.html">1.&nbsp;积极心态，快乐生活，快乐工作(300)</A> 

  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_1 
  href="http://www.cnblogs.com/blsong/archive/2011/06/28/2092502.html">2.&nbsp;(转)jQuery框架学习第二天：jQuery中万能的选择器(195)</A> 

  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_2 
  href="http://www.cnblogs.com/blsong/archive/2011/07/04/2097574.html">3.&nbsp;asp.net 
  导出CSV(95)</A> 
  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_3 
  href="http://www.cnblogs.com/blsong/archive/2011/06/17/2083680.html">4.&nbsp;领域驱动设计系列文章（2）——浅析VO、DTO、DO、PO的概念、区别和用处(77)</A> 

  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_4 
  href="http://www.cnblogs.com/blsong/archive/2011/06/17/2083692.html">5.&nbsp;领域驱动设计下系统层次结构风格（转载）(45)</A> 

  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_5 
  href="http://www.cnblogs.com/blsong/archive/2011/06/17/2083612.html">6.&nbsp;Spring.net快速上手指南(42)</A> 

  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_6 
  href="http://www.cnblogs.com/blsong/archive/2011/06/24/2088895.html">7.&nbsp;(转)MongoDB学习笔记(一) 
  MongoDB介绍及安装(38)</A> 
  <LI><A id=SingleColumn1__15715ea_TopList_Hyperlink1_7 
  href="http://www.cnblogs.com/blsong/archive/2011/07/07/2099979.html">8.&nbsp;人生故事(29)</A> 
  </LI></UL></DIV></DIV></DIV>
<DIV class=clear></DIV>
<DIV id=footer>
<P id=footer>Powered by: <BR><A id=Footer1_Hyperlink3 
style="FONT-SIZE: 12px; FONT-FAMILY: Verdana" href="http://www.cnblogs.com/" 
name=Hyperlink1>博客园</A> <BR>Copyright © 风雨者2 </P></DIV></DIV></FORM>
<SCRIPT type=text/javascript>
        if (!isSyntaxHighlighted) {
            try {
                SyntaxHighlighter.all();
            } catch (e) { }
        }
    </SCRIPT>

<SCRIPT src="TortoiseSVN使用简介.files/ShowHidden.js" type=text/javascript></SCRIPT>
</BODY></HTML>
